package com.englisheveryday.service;

import java.util.List;

import android.content.Context;

import com.englisheveryday.db.PlayListDAO;
import com.englisheveryday.vo.PlaylistVO;


/**
 * <pre>
 *    
 * </pre>
 * @author 马永华
 * @date 2012-9-16 下午6:40:37
 * @version 1.1
 */

public class PlaylistService {
	
	private PlayListDAO db ;
	public PlaylistService(Context context){
		db = new PlayListDAO(context);
	}
	
	//添加到播放列表
	public void addToPlayList(String id){
		 db.addtoPlayList(id);
	}
	//从播放列表删除
	public void deleteFromPlayList(String id){
		db.deleteFromPlayList(id);
	}
	
	//查询所有
	public List<PlaylistVO> findAll(){
		return db.findAll();
	}
	
	//根据ID 查询 audio
	public PlaylistVO findById(String id){
		if(!hasCount())
			return null;
		
		PlaylistVO vo = db.findById(id);
		if(notNull(vo))
			return vo;
		else 
			return db.findFirst();					
	}
	
	//根据ID 查询下一个
	public PlaylistVO findNextById(String id){
		if(!hasCount())
			return null;
		if(hasOneCount())
			return db.findById(id);
		
		PlaylistVO vo = db.findNextById(id);
		if(notNull(vo))
			return vo;
		else 
			return db.findFirst();	
	}
	
	//根据ID 查询上一个
	public PlaylistVO findPreById(String id){
		if(!hasCount())
			return null;
		if(hasOneCount())
			return db.findById(id);
		
		PlaylistVO vo  = db.findPreById(id);
		if(notNull(vo))
			return vo;
		else 
			return db.findLast();
	}
	
	//查询总数
	public int findAudioCount(){
		return db.findAudioCount();
	}
	
	public boolean notNull(PlaylistVO vo){
		if(vo==null||vo.getAudio()==null||"".equals(vo))
			return false;
		return true;
	}
	
	public boolean hasCount(){
		return db.findAudioCount() > 0;
	}
	
	public boolean hasOneCount(){
		return db.findAudioCount() == 1;
	}
}

